# main.py 文件
from fastapi import FastAPI, Depends, status
from fastapi.middleware.cors import CORSMiddleware
import uvicorn

# 导入实际的FastAPI应用实例
from app.app import app

# ------------------------------[ 生命周期管理 ]------------------------------


# @asynccontextmanager
# async def lifespan(app: FastAPI):
#     """应用生命周期管理（数据库初始化）"""
#     # 初始化数据库（生产环境建议使用迁移工具Alembic）
#     await init_db()
#     yield

# # ------------------------------[ FastAPI应用实例 ]------------------------------
# app = FastAPI(
#     title="用户管理系统API",
#     version="1.0.0",
#     lifespan=lifespan,  # 使用异步生命周期管理
#     docs_url="/api/docs",   # 自定义Swagger路径
#     redoc_url="/api/redoc"  # 自定义ReDoc路径
# )

# # ------------------------------[ 中间件配置 ]------------------------------
# # CORS配置（生产环境应严格限制来源）
# app.add_middleware(
#     CORSMiddleware,
#     allow_origins=["*"],  # 允许所有来源（调试用）
#     allow_credentials=True,
#     allow_methods=["*"],
#     allow_headers=["*"],
# )

# # ------------------------------[ 路由注册 ]------------------------------
# # 用户认证路由（来自auth.py）
# app.include_router(auth_router, prefix="/api/v1")

# # ------------------------------[ 基础API路由 ]------------------------------


# @app.get("/", tags=["System"])
# async def root():
#     """系统健康检查端点"""
#     return {
#         "status": "running",
#         "docs": "/api/docs",
#         "db_status": "connected" if engine else "disconnected"
#     }


# @app.get("/health", status_code=status.HTTP_200_OK)
# async def health_check():
#     """负载均衡健康检查"""
#     return {"status": "OK"}


# ------------------------------[ 运行配置 ]------------------------------
if __name__ == "__main__":
    # 开发环境运行配置
    uvicorn.run(
        "app.app:app",
        host="0.0.0.0",  # 允许外部访问
        port=8000,
        log_level="info",
        reload=True,     # 启用热重载
        workers=20        # 开发环境建议单线程
    )
